#ifndef __KERNEL_SCREEN_H_
#define __KERNEL_SCREEN_H_

#include "types.h"

#define VRAM      0XA0000
#define ADDR_BOOT 0X00000FF0

typedef struct
{
  int8_t *vram;
  int8_t led;
  int8_t cylinder;
  int8_t color_mode;
  int16_t x_size;
  int16_t y_size;
} boot_info_t;

void init_screen(boot_info_t *boot_ptr);
void clear_screen(uint8_t color);
void draw_window(void);
void init_palette(void);
void init_mouse(int8_t *mouse, int8_t bg);
void display_mouse(int8_t *vram, int32_t xsize, int32_t pxsize, int32_t pysize, int32_t px0, int32_t py0, int8_t *buf, int32_t bxsize);
void box_fill(uint8_t color, int32_t x0, int32_t y0, int32_t x1, int32_t y1);

#endif // !__KERNEL_SCREEN_H_